package com.winhxd.b2c.order.service;

import com.winhxd.b2c.common.domain.PagedList;
import com.winhxd.b2c.common.domain.order.condition.OrderBaseConditions;
import com.winhxd.b2c.common.domain.order.condition.OrderDetailsCondition;
import com.winhxd.b2c.common.domain.order.condition.OrderQueryCondition;
import com.winhxd.b2c.common.domain.order.vo.OrderDetailForCustomerVO;
import com.winhxd.b2c.common.domain.order.vo.OrderInfoVO;

/**
 * 订单查询接口,提供订单查询方法
 *
 * @author zsg
 * @date 2019年01月08日 下午5:50:07
 */
public interface OrderQueryService {

    /**
     * 查询订单列表
     * @param condition
     * @return
     */
    PagedList<OrderInfoVO> findOrderList(OrderBaseConditions condition);

    /**
     * @author hjw
     * @date 2019/1/10 17:49
     * @param condition
     * @Description 查询订单所有信息
     * @return
     */
    PagedList<OrderInfoVO> selectOrderAllInfo(OrderQueryCondition condition);

    /**
     * @author hjw
     * @date 2019/1/10 17:49
     * @param condition
     * @Description 查询订单所有信息
     * @return
     */
    PagedList<OrderInfoVO> selectOrderAllInfoV3(OrderQueryCondition condition);

    /**
     * @author hjw
     * @date 2019/1/10 17:49
     * @param condition
     * @Description 查询订单明细所有信息
     * @return
     */
    OrderInfoVO selectOrderDetailAllInfo(OrderQueryCondition condition);


    /**
     * 根据订单编码查询订单详情
     * @param condition
     * @return
     */
    OrderDetailForCustomerVO getOrderDetailByOrder(OrderDetailsCondition condition);
}
